home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Clean 1.2.4 / IO Examples / IO Utilities / Random.dcl < prev    next >
Encoding:
Modula Definition  |  1996-12-18  |  553 b   |  22 lines  |  [TEXT/3PRM]

  1. definition module Random
  2.  
  3.  
  4. from    deltaEventIO    import IOState
  5.  
  6.  
  7. /*
  8.     General utility for random generation.
  9.     This module uses the 0.8 I/O library.
  10. */
  11.  
  12. ::    RandomSeed
  13.  
  14. //    NullRandomSeed generates a useless RandomSeed (Random NullRandomSeed = (0,NullRandomSeed)).
  15. NullRandomSeed    :: RandomSeed
  16.  
  17. //    GetNewRandomSeed generates a useful RandomSeed, using the current time.
  18. GetNewRandomSeed:: !(IOState *s)    -> (!RandomSeed, !IOState *s)
  19.  
  20. //    Given a RandomSeed, Random generates a random number and a new RandomSeed.
  21. Random            :: !RandomSeed        -> (!Int, !RandomSeed)
  22.